package com.ruoyi.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.ERP.BomInfoErp;
import com.ruoyi.system.domain.ERP.ProdPlanErpDTO;
import com.ruoyi.system.domain.HUAWEI.EntityRevisionDTO;
import com.ruoyi.system.domain.HUAWEI.Software;
import com.ruoyi.system.domain.WMS.WmsQtMaterial;
import com.ruoyi.system.domain.function.ProdOrderDTO;
import com.ruoyi.system.domain.function.ProdPlan;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 生产计划Service接口
 *
 * @author ruoyi
 * @date 2023-02-10
 */
@Component("planTask")
public interface IProdPlanService extends IService<ProdPlan> {

    AjaxResult issued(ProdOrderDTO dto);

    String createProd(ProdOrderDTO dto);

    String orderSync(List<ProdPlanErpDTO> list);

    List<BomInfoErp> getBomInfoErpList(BomInfoErp bomInfoErp);

    AjaxResult qtjy(ProdOrderDTO dto);

    List<WmsQtMaterial> qtjyInfo(ProdOrderDTO dto);

    Boolean getOrderStatus(ProdPlanErpDTO dto);

    /**
     * 定时比对总成生产是否达标合格 rule 0早上8点开始 1晚上17点开始
     */
    void planCom(Integer rule);
    /**
     * 定时比对bom生产是否达标合格 rule 0早上8点开始 1晚上17点开始
     */
    void planBomCom(Integer rule);

    AjaxResult getPoversion(String taskTon);

    AjaxResult uploadPoversion(List<Software> list);

    AjaxResult getInfo(Long planId);

    AjaxResult getGy(Long planId);
}
